When data is lost, users are often forced to make choices about which content to restore. Many data backup strategies now include the ability to provide point in time recovery. This may enable users to restore a system to an earlier specified point in time in order to recover data prior to its deletion. However, such backup strategies require the restoration of the entire system. Restoration of an entire system may require significant storage space, take significant time, and be costly. A point in time backup strategy or other traditional backup strategies are not practical or efficient when the only data desired for restoration is a small subset of the entire backup. Furthermore, application users who lose application data face another challenge. Frequently application data may be stored in underlying file or database systems and backups are performed at this level. Even if users are capable of restoring selected data objects from a backup, the underlying data may be stored in a format that may be meaningless to application users. Thus, it may be difficult to determine which portion of data to restore. Additionally, restoration of a subset of the underlying data in order to restore one or more application objects may not ensure compatibility with a current application. An application may make changes in formats, file dependencies or other data structures utilized in its data storage that may prohibit the restoration of one or more application objects by copying underlying files or data. Such updates or changes in applications may require a full point in time restoration in order to recover one or more lost application objects.
In view of the foregoing, it may be understood that there are significant problems and shortcomings associated with current application data recovery technologies.